Geometric Techniques for Parallelizing and Scheduling Do-loops Tang Dongxing
نویسنده
چکیده
To parallelize a DO-loop in a Fortran program, the independence of various iterations of the DO-loop has to be detected. Two commonly used tests to check for iteration independence are the GCD test and the Banerjee test. In this paper we introduce a new data dependence test called the Diagonal test that is based on some very simple geometric properties of straight lines and hyper-planes. We show that the Diagonal test is equivalent to Banerjee test. However, the Diagonal test is more intuitive, especially for singly-nested loops. The Diagonal test also inspires a new approach to parallelizing DO-loops by repeatedly partitioning a loop into smaller loops, and scheduling these smaller loops for parallel execution based on the data-dependence analysis.
منابع مشابه
Chain-Based Scheduling: Part I { Loop Transformations and Code Generation
Chain-based scheduling [1] is an e cient partitioning and scheduling scheme for nested loops on distributed-memory multicomputers. The idea is to take advantage of the regular data dependence structure of a nested loop to overlap and pipeline the communication and computation. Most partitioning and scheduling algorithms proposed for nested loops on multicomputers [1,2,3] are graph algorithms on...
متن کاملGeometric Scheduling of 2-D UET-UCT Uniform Dependence Loops
Finding an optimal time schedule is one of the primary tasks in the area of parallelizing uniform dependence loops. Due to the existence of dependence vectors, the index space of such a loop, is split into subspaces of points that can be executed at different time instances. The geometric representation of these sets form certain polygonal shapes called patterns, with special attributes and cha...
متن کاملChain-based Scheduling: Part I { Loop Transformations and Code Generation Chain-based Scheduling: Part I { Loop Transformations and Code Generation
Chain-based scheduling 1] is an eecient partitioning and scheduling scheme for nested loops on distributed-memory multicomputers. The idea is to take advantage of the regular data dependence structure of a nested loop to overlap and pipeline the communication and computation. Most partitioning and scheduling algorithms proposed for nested loops on multicomputers 1,2,3] are graph algorithms on t...
متن کاملParallelizing while loops for multiprocessor systems
Current parallelizing compilers treat WHILE loops and DO loops with conditional exits as sequential constructs because their iteration space is unknown. Motivated by the fact that these types of loops arise frequently in practice, we have developed techniques that can be used to automatically transform them for parallel execution. We succeed in parallelizing loops involving linked lists travers...
متن کاملCompile-Time Parallelism Evaluation in a Loop-Parallelizing Environment
In this paper we present an approach to the static evaluation of the parallelism of DO-loops in an automatic parallelizing environment. The evaluation is performed from the dependence graph with a set of dependence relations between statements of the loop. The presence of control dependences due to conditional statements is also considered, evaluating in this case bounds of the loop parallelism...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994